ALBのACM証明書をEmail検証からDNS検証に移行する方法

ALBのACM証明書をEmail検証からDNS検証に移行する方法

ALBのACM証明書をEmail検証からDNS検証に移行する方法を説明します。
Clock Icon2024.07.28

SBJソリューション部のserinaです。
ACM証明書の移行方法について書いていきます。

ACMの認証方式は、DNS検証とEメール検証の2種類あります。

Eメール検証で作成したACMは以下のサポートがしなくなります。

2024 年 6 月以降、ACM は WHOIS 連絡先アドレスによる新規 E メールの検証をサポートしなくなります。
既存の証明書については、2024 年 10 月以降、ACM はドメインの WHOIS 連絡先アドレスに更新通知を送信しません。
ACM は引き続き、リクエストされたドメインの 5 つの共通システムアドレスに検証 E メールを送信します。

引用元:E メール検証 - 重要

既存のEメール検証のACMからDNS検証のACMへの切り替え作業の手順をまとめます。

切り替えに伴うダウンタイム

発生しません。

Q: ACM で更新された証明書がデプロイされた場合、サイトの既存の接続は失われますか?

いいえ。新しい証明書がデプロイされた後に確立された接続では、新しい証明書を使用しているため、既存の接続に影響はありません。

参照元:AWS Certificate Manager - よくある質問

切り戻し方法

元の証明書に再度付け替えます。

手順

1. ACMから、証明書をDNS検証で作成する

AWS Certificate Manager Certificates > Request certificateから作成します。

ACM_request-certificate

Validation methodでDNS validation - recommendedを選択します。

ACM_request-certificate-dns

Requestボタンを押せば作成完了です。

ACM_request-public-certificate

2. 作成されたCNAMEをレコードに登録する

この状態ではまだステータスが、Pending validationになっているので、
ドメインにこのCNAMEを登録して有効化していきます。

Create records in Route 53のボタンをクリックして、CNAMEをレコード登録します。
confirm-CNAME

対象のドメインを選択して、Create recordsをクリックします。
create-DNS-records-in-Amazon-Route-53

作成が成功しました。

successfully-created-DNS-records

Route53の一覧で見てもCNAMEのレコードが追加されていることを確認できます。
route53

3. ACMでステータスが発行済になっていることを確認する

数分後にIssuedになったことを確認できました。
ACM_status-Issued

4. ALBのリスナーが参照する証明書をDNS検証で作成された証明書に切り替える

該当のALBのListeners and rulesからEdit listenerを選択します。
alb-edit-listener

DNS検証で作成した証明書に変更します。
alb-set-acm

これで付け替えが完了しました。

5. ACMのCertificatesから証明書を削除する

証明書を切り替えるとデフォルトの証明書が切り替えられた、という意味合いになるのか既存の証明書が残ってしまいます。
なのでもう使用しない証明書を削除します。

HTTPS:443のリンクをクリックします。
ALB_Listeners-and-rules

Certificatesタブを選択します。
ALB_HTTPS-443

removeボタンをクリックし、使わなくなった証明書を削除します。
ALB_HTTPS-443-remove-certificate

6. Eメール認証で作成された証明書を削除する

最後に、不要になった証明書を削除します。
In UseがNoになっていることからも付け替えが完了したことが確認できます。
acm-delete

おわりに

付け替えた際に、ALBのCertificatesに2つ証明書が表示されていて、指定した証明書がデフォルトになる、というのが予想外の挙動でした。

作業を行ったことで、ドメイン周りについて勉強することができ良かったです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.